package com.mazaiting.manager.domain.vo.menu;

import lombok.Data;

import java.util.List;

/**
 * 菜单路由视图对象
 *
 * @author mazaiting
 */
@Data
public class RouteVO {

    /**
     * 路径
     */
    private String path;
    /**
     * 组件
     */
    private String component;
    /**
     * 重定向
     */
    private String redirect;
    /**
     * 名字
     */
    private String name;
    /**
     * 源数据
     */
    private Meta meta;

    /**
     * 源数据
     */
    @Data
    public static class Meta {

        /**
         * 标题
         */
        private String title;
        /**
         * 图标
         */
        private String icon;
        /**
         * 是否隐藏
         */
        private Boolean hidden;

        /**
         * 如果设置为 true，目录没有子节点也会显示
         */
        private Boolean alwaysShow;

        /**
         * 角色
         */
        private List<String> roles;

        /**
         * 页面缓存开启状态
         */
        private Boolean keepAlive;
    }

    /**
     * 子节点
     */
    private List<RouteVO> children;
}
